package com.ruoyi.depot.service;

import java.util.List;
import com.ruoyi.depot.domain.QualityInspection;
import com.ruoyi.depot.domain.Receipt;
import com.ruoyi.depot.domain.vo.QualityInspectionDetailVO;
import com.ruoyi.depot.domain.vo.QualityInspectionVO;

/**
 * 品检Service接口
 * 
 * @author luxiaoyu
 * @date 2024-11-05
 */
public interface IQualityInspectionService 
{
    /**
     * 查询品检
     * 
     * @param inspectionId 品检主键
     * @return 品检
     */
    public QualityInspectionVO selectQualityInspectionByInspectionId(String inspectionId);

    /**
     * 查询品检列表
     *
     * @param qualityInspection 品检
     * @return 品检集合
     */
    public List<QualityInspectionVO> selectQualityInspectionList(QualityInspection qualityInspection);

    /**
     * 新增品检
     * 
     * @param qualityInspection 品检
     * @return 结果
     */
    public int insertQualityInspection(QualityInspection qualityInspection);

    /**
     * 修改品检
     * 
     * @param qualityInspection 品检
     * @return 结果
     */
    public int updateQualityInspection(QualityInspectionVO qualityInspection);

    /**
     * 批量删除品检
     * 
     * @param inspectionIds 需要删除的品检主键集合
     * @return 结果
     */
    public int deleteQualityInspectionByInspectionIds(String[] inspectionIds);

    /**
     * 删除品检信息
     * 
     * @param inspectionId 品检主键
     * @return 结果
     */
    public int deleteQualityInspectionByInspectionId(Long inspectionId);

    /**
     * 批量新增品检信息
     * @param qualityInspections
     * @return
     */
    int insertBatchQualityInspection(List<Receipt> qualityInspections);


    /**
     * 根据产品id查询对应的质检详细信息
     *
     * @param productId
     * @return
     */
    List<QualityInspectionDetailVO> selectQualityInspectionByProductId(QualityInspectionDetailVO productId);
}
